@echo off
chcp 65001 > nul
title Allure报告生成工具 - Windows专用版

echo =======================================================
echo        Allure报告生成工具（Windows专用版）
echo =======================================================
echo.

setlocal enabledelayedexpansion

REM 设置基础结果目录
set BASE_RESULTS_DIR=reports\allure-results

REM 设置基础报告目录名称
set BASE_REPORT_DIR=reports\allure-report

REM 使用PowerShell获取标准时间戳
echo [1/5] 获取当前时间戳...
for /f "delims=" %%i in ('powershell -Command "Get-Date -format 'yyyyMMdd_HHmmss'"') do set timestamp=%%i
set "REPORT_DIR=!BASE_REPORT_DIR!_!timestamp!"

echo   时间戳: !timestamp!
echo   报告目录: !REPORT_DIR!
echo.

REM 清理旧报告数据
echo [2/5] 清理旧报告数据...
if exist "!REPORT_DIR!" (
    rmdir /s /q "!REPORT_DIR!" > nul 2>&1
    echo   旧目录已删除
) else (
    echo   无旧报告需要清理
)
echo.

REM 生成Allure报告
echo [3/5] 生成Allure报告...
allure generate "!BASE_RESULTS_DIR!" -o "!REPORT_DIR!" --clean
if !errorlevel! neq 0 (
    echo   错误: Allure报告生成失败，错误代码: !errorlevel!
    timeout /t 5
    exit /b 1
)
echo   Report successfully generated to !REPORT_DIR!
echo.

REM 打开报告
echo [4/5] 打开报告...
if exist "!REPORT_DIR!\index.html" (
    start "" "!REPORT_DIR!\index.html"
    echo   报告已在默认浏览器中打开
) else (
    echo   警告: 报告文件未找到，无法打开
)
echo.

REM 生成报告路径信息文件
echo [5/5] 生成报告信息...
if exist "!REPORT_DIR!" (
    echo 报告路径: !REPORT_DIR! > "!REPORT_DIR!\report_path.txt"
    echo 生成时间: !timestamp! >> "!REPORT_DIR!\report_path.txt"
    echo   报告信息文件已生成: report_path.txt
) else (
    echo   警告: 报告目录不存在，无法生成信息文件
)
echo.

echo =======================================================
echo      报告生成完成!
echo      报告路径: !REPORT_DIR!
echo      打开文件: !REPORT_DIR!\index.html
echo =======================================================
echo.

REM 结束前暂停
echo 脚本将在10秒后自动关闭...
timeout /t 10
endlocal